class Person:  # ()省略不写，默认继承object
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def show(self):
        print(f'我叫{self.name}，我今年{self.age}')


# Student子类继承Person类
class Student(Person):
    def __init__(self, name, age, num):
        super().__init__(name, age)  # 调用父类的初始化方法
        self.stu_no = num

    def show(self):
        #  调用父类中的方法
        super().show()
        print(f'我来自湖北，我的学号是：{self.stu_no}')


# Doctor子类继承Person类
class Doctor(Person):
    def __init__(self, name, age, department):
        super().__init__(name, age)
        self.department = department

    def show(self):
        # super().show()
        print(f'大家好，我叫{self.name},我今年{self.age}岁了，我在的科室是{self.department}')


# 创建第一个子类对象
stu = Student('lili', 25, 1001)
stu.show()  # 调用子类自己的show方法，因为父类中的show方法被重写了

doctor = Doctor('大壮', 55, '外科')
doctor.show()
